//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either
//version 2 of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

#ifndef LOGHELPER_DLG_H
#define LOGHELPER_DLG_H

#ifndef SCINTILLA_EDIT_VIEW_H
#include "ScintillaView.h"
#endif //SCINTILLA_EDIT_VIEW_H


#include "DockingDlgInterface.h"
#include "resource.h"
#include "Finder.h"

class LogHelperDlg : public DockingDlgInterface
{
public :
	LogHelperDlg();

	~LogHelperDlg();

    virtual void display(bool toShow = true) const 
	{
        DockingDlgInterface::display(toShow);
    };

	void init(HINSTANCE hInst, HWND parent);

	void setParent(HWND parent2set)
	{
		_hParent = parent2set;
	};

	void initScintillaView();

	void findServerCalls();

    LRESULT execute(UINT Msg, WPARAM wParam=0, LPARAM lParam=0) const {
        return ::SendMessage(_pScintillaPtr, static_cast<int>(Msg), static_cast<int>(wParam), static_cast<int>(lParam));
    };

protected :
	virtual BOOL CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
	static LRESULT FAR PASCAL finderProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
	static LONG originalWndProc;
    HWND _pScintillaPtr;
    int  _cp;

private:
    void FoundServerCallCallback();

private:
	ScintillaView _scintView;
    Finder*       _pFinder; 

};

#endif //LOGHELPER_DLG_H
